package com.cy.dda.model.domain.cases;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.cy.dda.model.enums.cases.CasesEndStatus;
import com.cy.dda.model.enums.cases.CasesEndType;
import com.cy.dda.model.enums.cases.CasesStatus;
import com.cy.dda.model.enums.cases.CasesType;
import com.cy.dda.model.enums.cases.CustomerType;

import lombok.Data;

/**
 * 委案表
 *
 * @author: tanyilin
 * @create: 2018年10月31日 上午11:35:14
 */
@Data
@Table(name = "t_cases")
public class Cases {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	
	/** 客户ID */
	private Long customerId;
	
	/** 委托机构ID */
	private Long orgId;
	
	/** 委案导入批次号（防止委案数据重复导入） */
	private String batchNumber;
	
	/** 借款编号 */
	private String loanNumber;
	
	/** 客户类型 */
	private CustomerType customerType;
	
	/** 委案类型 */
	private CasesType casesType;
	
	/** 贷款产品名称 */
	private String productName;
	
	/** 借款金额 */
	private BigDecimal loanAmount;
	
	/** 贷款余额 */
	private BigDecimal loanSurplusAmount;
	
	/** 利率 */
	private BigDecimal rate;
	
	/** 借款期限 */
	private Integer loanPeriods;
	
	/** 放款日期 */
	private Date loanDate;
	
	/** 逾期期数 */
	private Integer overduePeriod;
	
	/** 逾期天数 */
	private Integer overdueDays;
	
	/** 逾期日期 */
	private Date overdueDate;
	
	/** 逾期总额 */
	private BigDecimal overdueAmount;
	
	/** 逾期本金 */
	private BigDecimal overdueCapital;
	
	/** 逾期利息 */
	private BigDecimal overdueInterest;
	
	/** 逾期罚息 */
	private BigDecimal overdueFineInterest;
	
	/** 其他费用 */
	private BigDecimal otherAmount;
	
	/** 放款银行卡 */
	private String loanBankCard;
	
	/** 机构对公银行卡 */
	private String orgPublicBankCard;
	
	/** 委案状态 */
	private CasesStatus casesStatus;
	
	/** 委案结束状态 */
	private CasesEndStatus casesEndStatus;
	
	/** 委案结束类型 */
	private CasesEndType casesEndType;
	
	/** 催收员ID */
	private Long userId;
	
	/** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;
    
    /**  委托开始时间 */
    private Date entrustStartDate;
    
    /**  委托到期时间 */
    private Date entrustExpireDate;
	
    /**  分配（派单）时间 */
    private Date distributeTime;
}
